package com.yyh.myblog.service;

import com.yyh.myblog.entity.Type;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author yyh
 * @date 2021/2/23 17:25
 */
public interface TypeService {

    /**
     * saveType新增保存
     * @param type
     * @return
     */
    Type saveType(Type type);

    /**
     * getType根据id查询
     * @param id
     * @return Type
     */
    Type getType(Long id);

    /**
     * 获取类型名称
     * @param name
     * @return
     */
    Type getTypeByName(String name);

    /**
     * listType分页查询
     * @param pageable
     * @return Page<Type>
     */
    Page<Type> listType(Pageable pageable);

    /**
     * 获取所有的type
     * @return
     */
    List<Type> listType();

    /**
     * 前端index页面根据传值的大小获取type
     * @param size
     * @return
     */
    List<Type> listTypeTop(Integer size);

    /**
     * updateType更新修改
     * @param id
     * @param type
     * @return
     */
    Type updateType(Long id,Type type);

    /**
     * deleteType删除标签
     * @param id
     */
    void deleteType(Long id);
}
